package com.todo.strategy.online.iface;


import com.todo.common.common.entity.response.BizResponse;
import com.todo.strategy.online.iface.request.*;
import com.todo.strategy.online.iface.response.WantSetDetailVO;
import com.todo.strategy.online.iface.response.WantSetInfoVO;

import java.util.List;

/**
 * @author azhebuxing
 * @date 2024/5/9 15:28
 * @description
 */
public interface WantSetFrontendIface {

    /**
     * 新增我想去集合信息
     *
     * @param param
     * @return
     */
    BizResponse<Boolean> insertWantSet(InsertWantSetParam param);

    /**
     * 删除我想去集合信息
     *
     * @param param
     * @return
     */
    BizResponse<Boolean> removeWantSetById(RemoveWantSetParam param);

    /**
     * 更新我想去集合信息
     *
     * @param param
     * @return
     */
    BizResponse<Boolean> updateWantSetById(UpdateWantSetParam param);

    /**
     * 根据用户id查询我想去集合信息列表
     *
     * @param param
     * @return
     */
    BizResponse<List<WantSetInfoVO>> queryWantSetByUserId(QueryWantSetByUserIdParam param);


    /**
     * 插入我想去集合关联信息
     * 注：最大仅支持单集合100条数据
     *
     * @param param
     * @return
     */
    BizResponse<Boolean> insertWantSetRelation(InsertWantSetRelationParam param);

    /**
     * 删除我想去集合关联信息
     *
     * @param param
     * @return
     */
    BizResponse<Boolean> removeWantSetRelation(RemoveWantSetRelationParam param);

    /**
     * 根据集合id查询我想去集合关联信息
     *
     * @param param
     * @return
     */
    BizResponse<WantSetDetailVO> queryWantSetRelationByWantId(QueryWantSetRelationByWantIdParam param);

}
